package com.qqt.csr.route.vo.resp;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.qqt.csr.common.operalog.OperaLogSchema;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@JsonIgnoreProperties(ignoreUnknown = true)
@Schema(name = "WorkTimeRespO", description = "工作时间")
public class WorkTimeRespO implements Serializable {
    @Serial
    private static final long serialVersionUID = 7225104525530615250L;

    @Schema(description = "工作时间勾选的星期，1-7 表示周日到周一，1是周日，2是周一，以此类推",requiredMode = Schema.RequiredMode.REQUIRED)
    @OperaLogSchema(desc = "工作时间")
    @NotNull(message = "工作时间不能为空")
    @Size(min = 1, max = 7, message = "工作时间至少勾选1个，最多勾选7个")
    private List<Integer> weeks;

    @Schema(description = "开始时间段",requiredMode = Schema.RequiredMode.REQUIRED)
    @OperaLogSchema(desc = "开始时间段")
    @NotBlank(message = "开始时间段不能为空")
    private String startTime;

    @Schema(description = "结束时间段",requiredMode = Schema.RequiredMode.REQUIRED)
    @OperaLogSchema(desc = "结束时间段")
    @NotBlank(message = "结束时间段不能为空")
    private String endTime;
}
